/**
 * Created by baiguiren on 1/16/17.
 */

const async = require('async');

const obj = {
    name1: 'awk',
    name2: 'lua',
    name3: 'ruby',
};

//只修改对象的值
// async.mapValues(obj, (value, key, callback)=> {
//     setTimeout(()=>{
//         console.log('finish ' + key);
//     }, Math.random() * 100);
//     callback(null, value + 's');
// }, (err, results) => {
//     console.log(results);
// });
//
// //原对象不变
// console.log(obj);

// //顺序执行
// async.mapValuesSeries(obj, (value, key, callback)=> {
//    setTimeout(()=>{
//        console.log('finish ' + key);
//        callback(null, value + '@');
//    }, Math.random() * 100);
// }, function (err, results) {
//     console.log(results);
// });

async.mapValuesLimit(obj, 2, (value, key, callback)=> {
    setTimeout(()=>{
        console.log('finish ' + key);
        callback(null, value + '$');
    }, Math.random()*100);
}, (err, results)=>{
    console.log(results);
});